struct _GtkCalendar
{
GtkWidget widget;
-
- GtkCalendarPrivate *priv;
};
struct _GtkCalendarClass
char buffer[255];
time_t tmp_time;
#endif
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gchar *year_before;
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY
union { unsigned int word; char *string; } langinfo;
gchar *week_start;
#endif
- priv = calendar->priv = gtk_calendar_get_instance_private (calendar);
-
gtk_widget_set_can_focus (widget, TRUE);
gtk_widget_set_has_surface (widget, FALSE);
static void
calendar_queue_refresh (GtkCalendar *calendar)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
if (!(priv->detail_func) ||
!(priv->display_flags & GTK_CALENDAR_SHOW_DETAILS) ||
static void
calendar_set_month_next (GtkCalendar *calendar)
{
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint month_len;
- GtkCalendarPrivate *priv = calendar->priv;
if (priv->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
return;
static void
calendar_set_year_prev (GtkCalendar *calendar)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint month_len;
priv->year--;
static void
calendar_set_year_next (GtkCalendar *calendar)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint month_len;
priv->year++;
static void
calendar_compute_days (GtkCalendar *calendar)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint month;
gint year;
gint ndays_in_month;
calendar_select_and_focus_day (GtkCalendar *calendar,
guint day)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint old_focus_row = priv->focus_row;
gint old_focus_col = priv->focus_col;
gint row;
static gint
calendar_row_height (GtkCalendar *calendar)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
return (priv->main_h - CALENDAR_MARGIN
- ((priv->display_flags & GTK_CALENDAR_SHOW_DAY_NAMES)
calendar_left_x_for_column (GtkCalendar *calendar,
gint column)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint width;
gint x_left;
gint week_width;
week_width = 0;
}
- width = calendar->priv->day_width;
+ width = priv->day_width;
if (priv->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
x_left = week_width + calendar_xsep + (width + DAY_XSEP) * column;
else
calendar_column_from_x (GtkCalendar *calendar,
gint event_x)
{
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint c, column;
gint x_left, x_right;
for (c = 0; c < 7; c++)
{
x_left = calendar_left_x_for_column (calendar, c);
- x_right = x_left + calendar->priv->day_width;
+ x_right = x_left + priv->day_width;
if (event_x >= x_left && event_x < x_right)
{
calendar_top_y_for_row (GtkCalendar *calendar,
gint row)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint inner_border = calendar_get_inner_border (calendar);
return priv->header_h + priv->day_name_h + inner_border
guint arrow,
GdkRectangle *rect)
{
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GtkWidget *widget = GTK_WIDGET (calendar);
- GtkCalendarPrivate *priv = calendar->priv;
int width;
gboolean year_left;
gint col,
GdkRectangle *rect)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
rect->x = calendar_left_x_for_column (calendar, col);
rect->y = calendar_top_y_for_row (calendar, row);
static void
calendar_set_month_prev (GtkCalendar *calendar)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint month_len;
if (priv->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
static void
gtk_calendar_destroy (GtkWidget *widget)
{
- GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
+ GtkCalendar *calendar = GTK_CALENDAR (widget);
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
- calendar_stop_spinning (GTK_CALENDAR (widget));
+ calendar_stop_spinning (calendar);
/* Call the destroy function for the extra display callback: */
if (priv->detail_func_destroy && priv->detail_func_user_data)
GtkCalendarDisplayOptions flag,
gboolean setting)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GtkCalendarDisplayOptions flags;
gboolean old_setting;
calendar_get_display_option (GtkCalendar *calendar,
GtkCalendarDisplayOptions flag)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
return (priv->display_flags & flag) != 0;
}
GParamSpec *pspec)
{
GtkCalendar *calendar = GTK_CALENDAR (object);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
switch (prop_id)
{
GParamSpec *pspec)
{
GtkCalendar *calendar = GTK_CALENDAR (object);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
switch (prop_id)
{
gint row,
gint column)
{
- GtkCalendarPrivate *priv = GTK_CALENDAR (calendar)->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint year, month;
if (priv->detail_func == NULL)
GtkTooltip *tooltip)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gchar *detail = NULL;
GdkRectangle day_rect;
gint row, col;
GtkRequisition *requisition)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GtkBorder day_padding, day_name_padding, week_padding;
PangoLayout *layout;
PangoRectangle logical_rect;
int baseline)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint inner_border = calendar_get_inner_border (calendar);
gint calendar_xsep = calendar_get_xsep (calendar);
GtkSnapshot *snapshot)
{
GtkWidget *widget = GTK_WIDGET (calendar);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GtkStyleContext *context;
GtkStateFlags state;
char buffer[255];
GtkSnapshot *snapshot)
{
GtkWidget *widget = GTK_WIDGET (calendar);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GtkStyleContext *context;
GtkStateFlags state;
GtkBorder day_name_padding;
GtkSnapshot *snapshot)
{
GtkWidget *widget = GTK_WIDGET (calendar);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GtkStyleContext *context;
GtkStateFlags state;
GtkBorder week_padding;
gint col)
{
GtkWidget *widget = GTK_WIDGET (calendar);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GtkStyleContext *context;
GtkStateFlags state = 0;
gchar *detail;
guint arrow)
{
GtkWidget *widget = GTK_WIDGET (calendar);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GtkCssImageBuiltinType image_type;
GtkStyleContext *context;
GtkStateFlags state;
GtkSnapshot *snapshot)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
int i;
calendar_snapshot_main (calendar, snapshot);
calendar_timer (gpointer data)
{
GtkCalendar *calendar = data;
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gboolean retval = FALSE;
if (priv->timer)
calendar_start_spinning (GtkCalendar *calendar,
gint click_child)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
priv->click_child = click_child;
static void
calendar_stop_spinning (GtkCalendar *calendar)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
if (priv->timer)
{
int button)
{
GtkWidget *widget = GTK_WIDGET (calendar);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint row, col;
gint day_month;
gint day;
{
GtkCalendar *calendar = user_data;
GtkWidget *widget = GTK_WIDGET (calendar);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
int button = gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture));
gint arrow = -1;
gpointer user_data)
{
GtkCalendar *calendar = user_data;
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
int button = gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture));
if (button == GDK_BUTTON_PRIMARY)
double y,
gpointer data)
{
- GtkWidget *widget = data;
- GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
+ GtkCalendar *calendar = data;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
priv->in_drag = TRUE;
}
gpointer data)
{
GtkWidget *widget = data;
- GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
+ GtkCalendar *calendar = GTK_CALENDAR (widget);
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gdouble start_x, start_y;
GdkDrag *drag;
GdkContentFormats *targets;
move_focus (GtkCalendar *calendar,
gint direction)
{
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GtkTextDirection text_dir = gtk_widget_get_direction (GTK_WIDGET (calendar));
if ((text_dir == GTK_TEXT_DIR_LTR && direction == -1) ||
GtkWidget *widget)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint return_val;
gint old_focus_row;
gint old_focus_col;
GtkWidget *widget)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
calendar_queue_refresh (calendar);
calendar_stop_spinning (calendar);
- calendar->priv->in_drag = 0;
+ priv->in_drag = 0;
}
\f
GtkStateFlags previous_state)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
if (!gtk_widget_is_sensitive (widget))
{
GtkSelectionData *selection_data)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GDate *date;
gchar str[128];
gsize len;
gtk_calendar_drag_leave (GtkWidget *widget,
GdkDrop *drop)
{
- GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
+ GtkCalendar *calendar = GTK_CALENDAR (widget);
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
priv->drag_highlight = 0;
gtk_drag_unhighlight (widget);
gint x,
gint y)
{
- GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
+ GtkCalendar *calendar = GTK_CALENDAR (widget);
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
GdkAtom target;
if (!priv->drag_highlight)
GtkSelectionData *selection_data)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
guint day, month, year;
gchar *str;
GDate *date;
GtkCalendarDisplayOptions
gtk_calendar_get_display_options (GtkCalendar *calendar)
{
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
+
g_return_val_if_fail (GTK_IS_CALENDAR (calendar), 0);
- return calendar->priv->display_flags;
+ return priv->display_flags;
}
/**
GtkCalendarDisplayOptions flags)
{
GtkWidget *widget = GTK_WIDGET (calendar);
- GtkCalendarPrivate *priv = calendar->priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
gint resize = 0;
GtkCalendarDisplayOptions old_flags;
guint month,
guint year)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
g_return_if_fail (GTK_IS_CALENDAR (calendar));
g_return_if_fail (month <= 11);
- priv = calendar->priv;
-
g_object_freeze_notify (G_OBJECT (calendar));
if (priv->month != month)
gtk_calendar_select_day (GtkCalendar *calendar,
guint day)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
g_return_if_fail (GTK_IS_CALENDAR (calendar));
g_return_if_fail (day <= 31);
- priv = calendar->priv;
-
if (priv->selected_day != day)
{
/* Deselect the old day */
void
gtk_calendar_clear_marks (GtkCalendar *calendar)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
guint day;
g_return_if_fail (GTK_IS_CALENDAR (calendar));
- priv = calendar->priv;
-
for (day = 0; day < 31; day++)
{
priv->marked_date[day] = FALSE;
gtk_calendar_mark_day (GtkCalendar *calendar,
guint day)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
g_return_if_fail (GTK_IS_CALENDAR (calendar));
- priv = calendar->priv;
-
if (day >= 1 && day <= 31 && !priv->marked_date[day-1])
{
priv->marked_date[day - 1] = TRUE;
gtk_calendar_get_day_is_marked (GtkCalendar *calendar,
guint day)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
g_return_val_if_fail (GTK_IS_CALENDAR (calendar), FALSE);
- priv = calendar->priv;
-
if (day >= 1 && day <= 31)
return priv->marked_date[day - 1];
gtk_calendar_unmark_day (GtkCalendar *calendar,
guint day)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
g_return_if_fail (GTK_IS_CALENDAR (calendar));
- priv = calendar->priv;
-
if (day >= 1 && day <= 31 && priv->marked_date[day-1])
{
priv->marked_date[day - 1] = FALSE;
guint *month,
guint *day)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
g_return_if_fail (GTK_IS_CALENDAR (calendar));
- priv = calendar->priv;
-
if (year)
*year = priv->year;
gpointer data,
GDestroyNotify destroy)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
g_return_if_fail (GTK_IS_CALENDAR (calendar));
- priv = calendar->priv;
-
if (priv->detail_func_destroy)
priv->detail_func_destroy (priv->detail_func_user_data);
gtk_calendar_set_detail_width_chars (GtkCalendar *calendar,
gint chars)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
g_return_if_fail (GTK_IS_CALENDAR (calendar));
- priv = calendar->priv;
-
if (chars != priv->detail_width_chars)
{
priv->detail_width_chars = chars;
gtk_calendar_set_detail_height_rows (GtkCalendar *calendar,
gint rows)
{
- GtkCalendarPrivate *priv;
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
g_return_if_fail (GTK_IS_CALENDAR (calendar));
- priv = calendar->priv;
-
if (rows != priv->detail_height_rows)
{
priv->detail_height_rows = rows;
gint
gtk_calendar_get_detail_width_chars (GtkCalendar *calendar)
{
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
+
g_return_val_if_fail (GTK_IS_CALENDAR (calendar), 0);
- return calendar->priv->detail_width_chars;
+ return priv->detail_width_chars;
}
/**
gint
gtk_calendar_get_detail_height_rows (GtkCalendar *calendar)
{
+ GtkCalendarPrivate *priv = gtk_calendar_get_instance_private (calendar);
+
g_return_val_if_fail (GTK_IS_CALENDAR (calendar), 0);
- return calendar->priv->detail_height_rows;
+ return priv->detail_height_rows;
}